草庐IT

java try finally 阻止关闭流

全部标签

java - 是否可以在 Java 中阻止/拒绝转换?

我有一个简单游戏的代码,其中必须实现AgentInterface才能为游戏中的其中一个角色创建代理Controller。GameState是一个实现GameStateInterface的类,实现这个接口(interface)的对象可以传递给代理,这样代理就可以从游戏状态中读取和分析数据,并且代理必须返回适当的Action(以int形式返回)角色应该接受。这是代理必须实现的AgentInterface:publicinterfaceAgentInterface{//thereturnvaluespecifiesthedirectionofthejoystickpublicintactio

java - 你如何阻止循环在 Java 中运行

如何停止条件循环的运行。例如,如果我编写一个接受0到100值的if语句。如果用户输入小于0或大于100的数字,如何停止程序。importjava.util.Scanner;publicclassTestScores{publicstaticvoidmain(String[]args){intnumTests=0;double[]grade=newdouble[numTests];doubletotGrades=0;doubleaverage;Scannerkeyboard=newScanner(System.in);System.out.print("Howmanytestsdoyou

java - 关闭 Hibernate c3p0 的日志记录

我正在使用Hibernate的c3p0连接池和标准Java1.4java.util.logging。启动时,我的应用程序在staticblock中设置它的日志记录属性(包括格式化程序和日志级别)。每次启动我的应用程序时,我都会看到以下内容:2011-04-1617-43-51[com.mchange.v2.log.MLog]INFO:{MLog.)MLogclientsusingjava1.4+standardlogging.2011-04-1617-43-51[com.mchange.v2.c3p0.C3P0Registry]INFO:{C3P0Registry.banner)Ini

java - RabbitMQ Java 客户端 - 如何明智地处理异常和关闭?

这是我目前所知道的(请纠正我):在RabbitMQJava客户端中,对channel的操作抛出IOException当出现一般网络故障时(来自代理的格式错误的数据、身份验证失败、错过的心跳)。对channel的操作也可以抛出ShutdownSignalException未经检查的异常,通常是AlreadyClosedException当我们尝试在channel/连接关闭后对其执行操作时。关闭过程发生在"networkfailure,internalfailureorexplicitlocalshutdown"事件中(例如,通过channel.close()或connection.clo

java - Spring Batch Reader 的游标在 JTA 事务管理步骤中提前关闭

相关步骤的工作配置如下:Step、SpringBatchJobRepository和业务存储库(使用各种数据源)都使用JTA事务管理器。步骤“myStep”使用JdbcPagingItemReader。WebLogic、OracleXE和/或EE我想分析“myStep”中JdbcCursorItemReader的性能,但是在第一次提交后,第二个block的第一次读取将失败并出现java.sql.SQLException:结果集已关闭。我怀疑可能是JTA/XA驱动程序出于某种原因关闭了游标,因此我为“myStep”提供了一个简单的数据源事务管理器(在读者正在使用的数据源上),并且该步骤能

java - 类(class)未关闭时强制警告

当我使用像java.util.Scanner或java.io.BufferedReader这样的IO类时,Eclipse显示警告Resourceleak:'suchAndSuch'is从未关闭。如何让Eclipse在未关闭时为我自己的类显示此警告?我想知道是否有一个接口(interface)或我需要实现的东西来使我的类像IO类一样被对待,以便它独立于任何一个IDE,例如当资源未关闭时,命令行javac也会显示警告。 最佳答案 Eclipse对任何实现了java.io.Closeable的类发出“永不关闭”的警告classXimple

java - Criteria.DISTINCT_ROOT_ENTITY 不会阻止重复的对象

我有以下dao方法:@OverridepublicListfindAll(){Sessionsession=sessionFactory.getCurrentSession();Criteriacriteria=session.createCriteria(AdminRole.class);criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);returncriteria.list();}实际上我想从数据库中检索所有条目。有时我会看到重复项。当我添加具有AdminRole的用户时会发生这种情况。我已经读到,当我使用EA

java - 关闭 IntelliJ 中公共(public)函数的未使用代码警告

Eclipse在这方面很聪明;IntelliJ还没有。当然,如果一个函数未被使用(并且未经测试,我想我应该为此感到难过——即使它只是返回一个简单的变量,或者实现其他人的接口(interface))但是公开的,它可以在其他地方使用。在“检查”下查看并搜索“未使用”,我没有看到可见性设置。这种粒度存在吗? 最佳答案 Ifyouwanttohighlightunusedpublicmethods,pleaseenablethe"Settings|Inspections|Declarationredundancy|Unuseddeclara

java - 我怎样才能阻止 Maven 运行两次测试?

我有一个包含大约5000个测试用例的大项目。当运行mvncleaninstall时,它将运行test目标两次(一次作为安装的一部分,第二次作为surefire插件的一部分).为什么要第二次运行test?是否可以强制surefire使用test目标结果而不是重新调用它自己的结果?我认为这是浪费时间和机器资源,尤其是最近第二轮运行test导致PermGen构建错误,无论我向maven中注入(inject)多少堆runner它仍然在第二轮测试中死亡。这是我的surefire插件配置:maven-surefire-plugin2.18.1default-testtesttestclasses3

java - 关闭 ExecutorService

在Tomcat中,我写了一个ServletContextListener,它将在启动期间启动一个ExecutorService,并在卸载时终止它。我正在关注ExecutorService的javadoc中的示例publicvoidcontextDestroyed(ServletContextEventsce){executor.shutdown();try{executor.awaitTermination(50,TimeUnit.SECONDS);}catch(InterruptedExceptionie){Thread.currentThread().interrupt();}}我